import os
import numpy as np

def gen_golden_data_logit():
    # 配置参数
    dtype = np.float16
    input_shape = [500, 1300]
    
    # 生成输入数据：Logit函数定义域为(0,1)，避免边界值防止数值不稳定
    # 使用(0.001, 0.999)范围，避免log(0)和除以0的问题
    x = np.random.uniform(0.2, 0.5, input_shape).astype(dtype)
    
    # 计算Logit函数：f(x) = ln(x/(1-x))
    # 添加小epsilon防止数值不稳定
    epsilon = np.finfo(dtype).eps
    x_clipped = np.clip(x, epsilon, 1.0 - epsilon)
    golden = np.log(x_clipped / (1.0 - x_clipped)).astype(dtype)
    
    # 创建输入输出目录
    os.makedirs("./input", exist_ok=True)
    os.makedirs("./output", exist_ok=True)
    
    # 保存文件
    x.tofile("./input/input_x.bin")
    golden.tofile("./output/golden.bin")

if __name__ == "__main__":
    gen_golden_data_logit()